Voice telephony continues to be a primary means of communication. In order to facilitate effective voice communications, it is desirable to filter noise from the voice signal.
In order to perform noise cancellation, various noise cancellation algorithms are available. However, conventional noise processing algorithms have difficulty filtering out noises created in connection of the use of a computer, such as computer generated dings or tones, keyboard clicks, mouse clicks or output from a computer soundcard. Accordingly, conventional techniques for noise cancellation have not been particularly effective in filtering common office environment noises, such as noises generated by or associated with the operation of a computer from voice streams.
Common noise cancellation algorithms operate by estimating noise in the environment. The voice stream including noise is analyzed and the noise component is estimated and then subtracted from the outgoing voice stream. In order to improve the accuracy of such noise cancellation processes, pattern recognition may be used to estimate noise in a signal. The pattern recognition model may be trained in order to increase the amount of available pattern recognition data.
Techniques for reducing noise introduced to audio signals by computers have been proposed. For example, systems that provide a number of microphones to detect noise associated with a personal computer, in addition to a microphone external to the computer for capturing sound from the user, have been discussed. Any sound generated by the personal computer that is captured by the external microphone is subtracted from the users voice signal, by subtracting sound captured by microphones internal to the personal computer (or closely associate with the personal computer) from the signal comprising the voice information. Accordingly, such systems rely on a number of microphones.